Use of encryption keys for encrypted communication between a plurality of terminals include symmetric key encryption processes in which the same encryption key is used at a transmitting end and a receiving end, and asymmetric key encryption processes in which different encryption keys are used at a transmitting end and a receiving end. A symmetric key encryption process is smaller in the amount of calculation for encryption than an asymmetric key encryption process, and is thus suitable for processing compact terminals. In a symmetric key encryption process, however, the same encryption key needs to be shared in advance between a transmitting end and a receiving end. Furthermore, the shared encryption key needs to be periodically updated so that the encryption key is prevented from being compromised.
For example, JP-A 10-171717(KOKAI) discloses provision of a storage unit from/into which legitimate programs can be read or written but unauthorized reading and writing cannot be performed from outside in each of a host computer and an IC card. JP-A 10-171717(KOKAI) also discloses that a master key is stored in each of the storage units of the host computer and the IC card and periodically updated.